package com.link.base.base.coupons.dao.mybatis.mapper;

import com.link.base.base.coupons.model.Coupons;
import com.link.base.base.coupons.model.Present;
import com.link.core.basic.dao.mapper.BasicMapper;

import java.util.List;

/**
 * @author wangdawei
 * @date 2018/6/10
 * <p>优惠券mapper</p>
 */

public interface CouponsMapper extends BasicMapper<Coupons> {

    /**
     * 门店商登录优惠券列表筛选
     * @author : wangdawei
     * @param entity 优惠券对象
     * @return 优惠券列表
     * @throws Exception 异常
     * @date : 下午 2018/5/2
     */
    public List<Coupons> queryCoupListByExamplePage(Coupons entity) throws Exception;


    /**
     * 渠道商登录优惠券列表筛选
     * @author : wangdawei
     * @param entity 优惠券对象
     * @return 优惠券列表
     * @throws Exception 异常
     * @date : 下午 2018/5/2
     */
    public List<Coupons> queryCeCoupListByExamplePage(Coupons entity) throws Exception;

    /**
     * 优惠券全表查询
     * @author : wangdawei
     * @return 优惠券列表
     * @throws Exception 异常
     * @date : 下午 2018/5/3
     */
    public List<Coupons> queryAcctByExamplePage(Coupons entity) throws Exception;


    /**
     * 根据客户id查询客户下的奖品列表
     * @author : LiQun
     * @param present 礼品对象
     * @return 产品列表
     * @throws Exception 异常
     * @date : 下午7:13 2018/5/2
     */
    List<Present> queryPresentsByAccountId(Present present) throws Exception;

    /**
     * 根据id更新礼品状态,将其置为已使用
     * @author : LiQun
     * @param present 礼品对象
     * @throws Exception 异常
     * @date : 下午7:15 2018/5/2
     */
    void presentStatusUpdate(Present present) throws Exception;

    /**
     * 累加领取的红包的数量
     * @param coupons 优惠券
     * @return 更新的记录数据
     * @throws Exception
     */
    public int updateReceivedNum(Coupons coupons) throws Exception;
}
